<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>tools</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<h1 class="toc">Module tools</h1>
<hr />
  <h2 class="toc">Classes</h2>
    <a target="mainFrame" href="web2py.gluon.tools.Auth-class.html"
     >Auth</a><br />    <a target="mainFrame" href="web2py.gluon.tools.Crud-class.html"
     >Crud</a><br />    <a target="mainFrame" href="web2py.gluon.tools.Mail-class.html"
     >Mail</a><br />    <a target="mainFrame" href="web2py.gluon.tools.PluginManager-class.html"
     >PluginManager</a><br />    <a target="mainFrame" href="web2py.gluon.tools.Recaptcha-class.html"
     >Recaptcha</a><br />    <a target="mainFrame" href="web2py.gluon.tools.Service-class.html"
     >Service</a><br />  <h2 class="toc">Functions</h2>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#DEFAULT"
     >DEFAULT</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#call_or_redirect"
     >call_or_redirect</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#callback"
     >callback</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#completion"
     >completion</a><br />  </div>
    <a target="mainFrame" href="web2py.gluon.tools-module.html#fetch"
     >fetch</a><br />    <a target="mainFrame" href="web2py.gluon.tools-module.html#geocode"
     >geocode</a><br />    <a target="mainFrame" href="web2py.gluon.tools-module.html#prettydate"
     >prettydate</a><br />  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#test_thread_separation"
     >test_thread_separation</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#universal_caller"
     >universal_caller</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#validators"
     >validators</a><br />  </div>
  <h2 class="toc">Variables</h2>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Charset"
     >Charset</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Encoders"
     >Encoders</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Errors"
     >Errors</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Generator"
     >Generator</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Header"
     >Header</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Iterators"
     >Iterators</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#MIMEAudio"
     >MIMEAudio</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#MIMEBase"
     >MIMEBase</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#MIMEImage"
     >MIMEImage</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#MIMEMessage"
     >MIMEMessage</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#MIMEMultipart"
     >MIMEMultipart</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#MIMENonMultipart"
     >MIMENonMultipart</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#MIMEText"
     >MIMEText</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Message"
     >Message</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#ON"
     >ON</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Parser"
     >Parser</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#TAG"
     >TAG</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#Utils"
     >Utils</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#base64MIME"
     >base64MIME</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#logger"
     >logger</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#quopriMIME"
     >quopriMIME</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#regex_geocode"
     >regex_geocode</a><br />  </div>
  <div class="private">
    <a target="mainFrame" href="web2py.gluon.tools-module.html#table_field"
     >table_field</a><br />  </div>
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie()
  // -->
</script>
  
</body>
</html>
